import type {
  SysPostDtlVo,
  SysPostPageQo,
  SysPostQo,
  SysPostVo,
} from '#/system/post'
import { http } from '@/utils/request/index'

/**
 * 获取岗位分页列表
 * @param params 查询参数
 * @returns 岗位列表
 */
export function getSysPostPageListApi(params: SysPostPageQo) {
  return http.request<PageResult<SysPostVo>>('get', '/admin-api/system/sysPost/sysPostPage', {
    params,
  })
}

/**
 * 获取岗位分页列表
 * @param params 查询参数
 * @returns 岗位列表
 */
export function getSysPostListApi(params?: SysPostPageQo) {
  return http.request<SysPostVo[]>('get', '/admin-api/system/sysPost/sysPostList', {
    params,
  })
}

/**
 * 获取岗位详情
 * @param id 岗位id
 * @returns 岗位详情
 */
export function getSysPostDetailsApi(id?: string) {
  return http.request<SysPostDtlVo>('get', `/admin-api/system/sysPost/sysPostDetails/${id}`)
}

/**
 * 新增岗位
 * @param data 岗位信息
 * @returns 岗位id
 */
export function createSysPostApi(data: SysPostQo) {
  return http.request<string>('post', '/admin-api/system/sysPost/sysPostCreate', {
    data,
  })
}

/**
 * 修改岗位
 * @param data 岗位信息
 * @returns 岗位id
 */
export function updateSysPostApi(data: SysPostQo) {
  return http.request<string>('post', '/admin-api/system/sysPost/sysPostUpdate', {
    data,
  })
}

/**
 * 删除岗位
 * @param idList 岗位id列表
 * @returns 岗位id
 */
export function deleteSysPostApi(idList: string[]) {
  return http.request<string>('post', '/admin-api/system/sysPost/sysPostRemove', {
    params: {
      idList: idList.join(','),
    },
  })
}

/**
 * 启用岗位
 * @param idList 岗位id列表
 * @returns 岗位id
 */
export function enableSysPostApi(idList: string[]) {
  return http.request<string>('post', '/admin-api/system/sysPost/sysPostEnable', {
    params: {
      idList: idList.join(','),
    },
  })
}

/**
 * 禁用岗位
 * @param idList 岗位id列表
 * @returns 岗位id
 */
export function disableSysPostApi(idList: string[]) {
  return http.request<string>('post', '/admin-api/system/sysPost/sysPostDisable', {
    params: {
      idList: idList.join(','),
    },
  })
}
